﻿namespace LiSAClient.WpfClient.ViewModel.Frame.Menus
{
    using System;
    using System.Windows.Input;

    using GalaSoft.MvvmLight;

    public class DetachedWindowMenuItemViewModel : ViewModelBase
    {
        public DetachedWindowMenuItemViewModel()
        {
            this.ID = Guid.NewGuid();
            this.IsEnabled = true;
        }

        private Guid id;

        public Guid ID
        {
            get
            {
                return this.id;
            }

            private set
            {
                this.Set(() => this.ID, ref this.id, value);
            }
        }

        private string text;

        public string Text
        {
            get
            {
                return this.text;
            }

            set
            {
                this.Set(() => this.Text, ref this.text, value);
            }
        }

        private string src;

        public string Src
        {
            get
            {
                return this.src;
            }

            set
            {
                this.Set(() => this.Src, ref this.src, value);
            }
        }

        private bool isVisible;

        public bool IsVisible
        {
            get
            {
                return this.isVisible;
            }

            set
            {
                this.Set(() => this.IsVisible, ref this.isVisible, value);
            }
        }

        private bool isEnabled;

        public bool IsEnabled
        {
            get
            {
                return this.isEnabled;
            }

            set
            {
                this.Set(() => this.IsEnabled, ref this.isEnabled, value);
            }
        }

        private ICommand actionCommand;

        public ICommand ActionCommand
        {
            get
            {
                return this.actionCommand;
            }

            set
            {
                this.Set(() => this.ActionCommand, ref this.actionCommand, value);
            }
        }
    }
}
